export default function createElement(tag, data, children, text) {
  if (children) {
    children = children.map((v) => {
      // map函数返回一个新数组，接收一个函数，该函数的返回值会作为该项最新的值
      // 所有的返回值会组成这个新的数组最终作为map函数的返回值
      if (typeof v === 'string') {
        // 递归调用，创建文本虚拟DOM节点
        return createElement(undefined, undefined, undefined, v)
      }
      return v
    })
  }

  return {
    tag,
    data,
    children,
    text
  }
}
